PGM /*-------------------------------------------------------------------*/ /* EXCL001CL : EXCEL の出力サンプル CLP */ /* */ /* CRTCLMOD QTEMP/EXCL001CL SRCFILE(MYLIB/QCLLESRC) AUT(*ALL) */ /* CRTPGM CGIBIN/EXCL001CL MODULE(QTEMP/EXCL001CL) */ /* BNDSRVPGM(ASNET.COM/RPGENGINE5) ACTGRP(*NEW) AUT(*ALL)*/ /* */ /*-------------------------------------------------------------------*/ DCL VAR(&MSG) TYPE(*CHAR) LEN(80) DCL VAR(&TYPE) TYPE(*CHAR) LEN(1) DCL VAR(&USER) TYPE(*CHAR) LEN(10) + VALUE('QTMHHTTP ') DCL VAR(&JOB) TYPE(*CHAR) LEN(10) + VALUE('AURORA_EGN') DCL VAR(&JOBNBR) TYPE(*CHAR) LEN(6) DCL VAR(&EXCL) TYPE(*CHAR) LEN(256) + VALUE('/TEST/SHOHIN.XLS') DCL VAR(&NULL) TYPE(*CHAR) LEN(1) VALUE(X'00') DCL VAR(&PDF_FILE) TYPE(*CHAR) LEN(48) DCL VAR(&RTN) TYPE(*CHAR) LEN(5) DCL VAR(&DATETIME) TYPE(*CHAR) LEN(20) DCL VAR(&DATE) TYPE(*CHAR) LEN(6) DCL VAR(&TIME) TYPE(*CHAR) LEN(6) DCL VAR(&HH) TYPE(*DEC) LEN(2 0) DCL VAR(&HHC) TYPE(*CHAR) LEN(2) DCL VAR(&MM) TYPE(*DEC) LEN(2 0) DCL VAR(&MMC) TYPE(*CHAR) LEN(2) DCL VAR(&SS) TYPE(*DEC) LEN(2 0) DCL VAR(&SSC) TYPE(*CHAR) LEN(2) DCL VAR(&DIR) TYPE(*CHAR) LEN(256) DCL VAR(&ADDRCD) TYPE(*CHAR) LEN(5) DCL VAR(&XLS) TYPE(*CHAR) LEN(11) + VALUE('XLS ') DCL VAR(&FILE) TYPE(*CHAR) LEN(128) MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR)) /*-------------------------------------------------------------*/ /*( 1 ) EXCL001 プログラムを呼びだして実行する */ /*-------------------------------------------------------------*/ CALL PGM(PANELWKR/EXCL001) PARM(&ADDRCD) /*-------------------------------------------------------------*/ /*( 2 ) 出力された EXCL をオープンする */ /*-------------------------------------------------------------*/ CALLPRC PRC(CONTENT_TYPE) PARM((&XLS *BYVAL) (&FILE + *BYVAL)) RTNVAL(&RTN) CALLPRC PRC(OPENHTML) PARM((&EXCL *BYVAL)) RTNVAL(&RTN) /*-------------------------------------------------------------*/ /*( 3 ) EXCL をブラウザに送出する */ /*-------------------------------------------------------------*/ CALLPRC PRC(WRITE) /*-------------------------------------------------------------*/ /*( 4 ) 10 分後に EXCL を削除するように SBMJOB */ /*-------------------------------------------------------------*/ CHGVAR VAR(&HH) VALUE(%SST(&TIME 1 2)) CHGVAR VAR(&MM) VALUE(%SST(&TIME 3 2)) CHGVAR VAR(&SS) VALUE(%SST(&TIME 5 2)) CHGVAR VAR(&MM) VALUE(&MM + 10) IF COND(&MM >= 60) THEN(DO) CHGVAR VAR(&HH) VALUE(&HH + 1) CHGVAR VAR(&MM) VALUE(1) ENDDO CHGVAR VAR(&HHC) VALUE(&HH) CHGVAR VAR(&MMC) VALUE(&MM) CHGVAR VAR(&SSC) VALUE(&SS) CHGVAR VAR(&TIME) VALUE(&HHC *CAT &MMC *CAT &SSC) SBMJOB CMD(RMVLNK OBJLNK(&EXCL)) JOB(RMVLNK) + SCDDATE(&DATE) SCDTIME(&TIME) MSGQ(*NONE) RETURN ERROR: RCVMSG MSGTYPE(*LAST) RMV(*NO) MSG(&MSG) IF COND(&TYPE *EQ '0') THEN(DO) /* バッチ */ SNDPGMMSG MSG(&MSG) TOMSGQ(*SYSOPR) MSGTYPE(*COMP) ENDDO /* バッチ */ ELSE CMD(DO) /* 対話式 */ SNDPGMMSG MSG(&MSG) MSGTYPE(*DIAG) ENDDO /* 対話式 */ ENDPGM